1. Field of the Invention
The invention relates to the field of printing systems, and in particular, to methods and systems for N-UP print imaging dynamically controlled by a printer so as to permit dynamic changes in printing parameters during printing of a print job as well as to permit other printing parameters to be modified by local operation of the printing system independent of the host systems that supply print jobs.
2. Statement of the Problem
Printing systems associated with data processing enterprises generally include a localized printer controller within the printing system. The printer controller controls overall operation of the printing system including, for example, host interfacing, page description language interpretation and rasterization, and lower level process control or interface features of the printing engine associated with the printing system. Host interaction may include appropriate adapters for coupling the printing system to one or more host systems utilizing one or more communication media and one or more communication protocols. Print jobs (often referred to as “raw print jobs”) are received by the printing system from one or more attached host computer systems. The raw print jobs are generally encoded in the form of a page description language such as PostScript, HP PCL, etc. In addition, raw print jobs may be encoded as simple character streams (ASCII or EBCDIC) with no page description formatting associated therewith. Still further, any single job may be encoded using multiple page description languages or encodings. For example, a banner page may be encoded in simple ASCII characters, various other pages of the same job may be encoded as PostScript and some pages may include PCL encoded material—all within a single print job. In whatever form the raw print job may be encoded or formatted, the printer controller within the printing system interprets the received information to generate rasterized images of pages represented by the received, encoded, raw print job. Each rasterized page image generally comprises a 2-dimensional array of picture elements (“pixels”) that represent a corresponding formatted page of the received raw print job. Each pixel may represent an encoded color value in accordance with the requirements of the particular raw print job encoding and the capabilities of the printing system on which the print job is to be printed. The process of interpreting the raw print job to generate corresponding rasterized page images is typically referred to as “ripping” or “rasterizing” and the sequences of rasterized pages may be referred to herein as a “ripped print job” or a “rasterized print job”.
The printer controller may store or buffer one or more ripped print jobs in accordance with storage capabilities of the particular architecture of a particular printer controller. Each ripped print job comprises one or more rasterized images, each referred to as a “logical page” of the ripped print job. The printer controller may then apply the logical pages to a print engine (sometimes also referred to as an “imaging engine” or as a “marking engine”). The print engine then interacts with the imaging process to mark the printable medium (e.g., the sheet of paper) with the logical pages provided by the printer controller. For example, where the print engine is an electrophotographic imaging engine (e.g., a laser print engine), a laser or other optical imaging system transfers each logical page rasterized image to corresponding pixels on paper formed as particles of toner electrostatically transferred to the paper
As is generally known in the art, the host system may encode or format the raw print job to present rasterized logical pages in accordance with a number of print parameters. Print parameters may be associated with the particular print engine or printing system and/or may be associated with the raw print job as specified by the host systems. One common formatting technique used in host systems and by printer controllers is to print multiple logical pages on a single sheet of printable medium. Multiple logical pages may be applied to opposing sides of the printable medium (often referred to as duplex or two-sided printing) and/or multiple logical pages may be applied to the same side of the printable medium (often referred to as N-UP printing).
Where a host system defines a print job as using such duplex and/or N-UP formatting of logical pages, some present print controllers are not adapted to modify this formatting parameter. Rather, the printer controller generally applies the logical pages to the printable medium exactly as the host system requested and regardless of the particular environment of the print engine and printing system. Some present day printing systems include a printer controller adapted to reformat a host-supplied raw print job to change the N-UP printing parameter. For example, a 1-UP raw print job may be reformatted by such a printer controller of the printing system to print the job as an N-UP print job based on printing parameters known to the printing system. Such printing parameters may include, for example, dimensions of the printable medium. By way of example, a host system may format a 1-UP raw print job comprising multiple 8.5″×11″ (letter size) pages and transfer the raw print job to a printing system having continuous feed 19 inch wide paper. The printing system may then determine that the raw print job may be most efficiently printed as a 2-UP print job with two letter size logical pages printed side by side on the 19 inch wide printable medium.
Some presently known print controllers that provide such reformatting capability do so as they interpret the raw print job to generate a ripped print job. In other words, some present print controllers with N-UP job reformatting capability do so at the time of ripping. Thus, to change the N-UP printing parameter, the parameter must be changed at the beginning of the ripping process in the printer controller. If the print operator wishes to change the N-UP printing parameter after a ripped print job has begun printing in the print engine, the ripped print job must be restarted, or re-ripped with new print parameters to change the N-UP positioning of logical pages on sheets of paper. Though it may be beneficial to permit changing of such print parameters in the middle of printing a long print job, present print controllers that force restarting of a lengthy print job are wasteful of paper and other resources of the print system in that the already printed beginning portion of a potentially lengthy print job will require reprinting to change the N-UP print parameter. Thus, it is a problem for presently known printing systems and printer controllers to dynamically change the N-UP printing parameter in the middle of a print job for which transfer to the printable medium has already commenced within the print engine.